﻿/**
 * 覆盖module.js中同名变量
 * @type String
 */
module.fromId = 'cfrom';
module.dialogId = 'cdialog';
module.datagrid = 'constgrid';
module.treeId = 'consttree';
module.rootUrl = 'const/';

/**
 * 刷新树数据
 * 
 * 覆盖module.js中同名方法
 */
module.reloadTree = function (){
	$('#' + module.treeId).tree('reload');
	$('#CParentId').combotree('reload');
};

/**
 * 装载表单数据
 * 
 * 覆盖module.js中同名方法
 * 
 * @param data
 *            装载的数据
 */
module.loadForm = function (data) {
	$('#' + module.fromId).form('load', {
		id : data.id,
		CName : data.text,
		CParentId : data.parentId,
		CValue : data.c_value,
		CDesc : data.c_desc,
		CType : data.c_type,
		CRetention:data.c_retention
	});
};

/**
 * 打开信息编辑框
 * 
 * 覆盖module.js中同名方法
 */
module.openDialog = function () {
	$('#' + module.fromId).form('clear');
	$('#' + module.dialogId).dialog('open');
	var node = $('#' + module.treeId).tree('getSelected');
	if (node) {
		$('#CParentId').combotree('setValue', node.id);
	}
};

/**
 * ajax请求
 * 
 * 覆盖module.js中同名方法
 * 
 * @param data
 *            装载的数据
 */
module.ajaxRequest = function (url) {
	Common.Util.sendTreeDataIds(module.treeId, module.datagrid, module.rootUrl + url, function (msg) {
		// 刷新列表
		module.reloadDatagrid();
		// 刷新树
		module.reloadTree();
	});
};

/**
 * 数据查询
 * 
 * 覆盖module.js中同名方法
 */
module.queryDatagrid = function () {
	var constname = $('#constname').textbox('getValue');
	var constvalue = $('#constvalue').textbox('getValue');

	var filters = [];
	// 判断查询参数是否为空
	if (!Common.Util.isEmpty(constname)) {
		filters.push(add_condition("and", "包含", "a", "c_name", constname, "", "string"));
	}
	if (!Common.Util.isEmpty(constvalue)) {
		filters.push(add_condition("and", "包含", "a", "c_value", constvalue, "", "string"));
	}

	// 执行查询
	fun_query(module.datagrid, filters);
	filters = null;
}
module.onSelectTree = function (node) {
	module.selectTreeNode = node.id;
	// 判断是否为根节点
	if (!node.id || node.id == -1) {
		// 如果角色Id为空或者为-1则刷新列表
		module.reloadDatagrid();
	} else {
		var filters=new Array();
		filters.push(add_condition("and", "等于", "a", "id", node.id, "", "number"));
		filters.push(add_condition("or", "等于", "a", "c_parentId", node.id, "", "number"));
		fun_query(module.datagrid, filters);
	}
}
/**
 * 角色下拉框数据过滤
 * 
 * @param data
 *            过滤的数据
 * @returns 返回过滤后的数据
 */
function roleLoadFilter(data) {
	return data.rows;
}

//数据标记
function flagFormat(value, row, index) {
	if(row.c_type==0){
		//类型
		return "<img src=\"res/rbac/icons/folder.png\" title=\"类型\"/> "+value;
	}else if(row.c_type==1){
		//数据
		return "<img src=\"res/rbac/icons/database.png\" title=\"数据\"/> "+value;
	}
}
//retention
function retentionFormat(value, row, index) {
	if(row.c_retention==0){
		//内存
		return "<img src=\"res/rbac/icons/bullet_green.png\" title=\"内存\"/> 内存";
	}else if(row.c_retention==1){
		//离线
		return "<img src=\"res/rbac/icons/bullet_orange.png\" title=\"离线\"/> 离线";
	}
}